package com.text.day3_3;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 利用hashmap计算两数之和
 */
public class HashMapDemo02 {

    public static void main(String[] args) {

        // 这个数组中是否存在两个数的和为10 ，如果存在，把这个两个数的下标返回
        int[] arr = {2,3,5,8,4};

        Map<Integer,Integer> result =  dealArr(arr);

        System.out.println(result);
        result.forEach((e,v) -> System.out.println(e + " " +v));

    }

    private static Map<Integer,Integer> dealArr(int[] arr) {
        Map<Integer,Integer> result = new HashMap<>();
        Arrays.sort(arr);
        for (int i = 0; i <= arr.length/2; i++) {
            for (int j = arr.length - 1; j > arr.length/2; j--) {
                if (arr[i] + arr[j] == 10)
                    result.put(i,j);
            }
        }
        return result;
    }

}
